# from django.db import models
#
# class BookInfo(models.Model):
#     title = models.CharField(max_length=50)
#     reader = models.IntegerField()
#
#     def __str__(self):
#         return self.title
#
#     class Meta:
#         db_table = "book"
#
# class HeroInfo(models.Model):
#     name = models.CharField(max_length=50)
#     bookid = models.ForeignKey(BookInfo,on_delete=models.DO_NOTHING,related_name='bookinfo',db_constraint=False)
#
#     def __str__(self):
#         return self.name
#
#     class Meta:
#         db_table = 'hero'
#
# """
# ForeignKey      外键关联，一般有关联关系的，都是主动更改为外键关联
# to              关联的model类名，可以使用字符串，也可以使用类名，个人偏向于类名
# on_delete       级联删除，一般作为测试人员，我们设置为models.DO_NOTHING，但需要知道，正确的设置应该是级联删除，但测试本来就会构造出很多垃圾数据，何况我们在测试的时候有时候就需要制造一些垃圾数据（代码问题出现垃圾数据）
# db_column       数据库中的字段名，如果你觉得表的字段不容易理解，想改成更加容易理解的名称，就可以自定义model属性，使用db_column指定固定的字段名
# related_name    这个不太好解释，就是外键关联表，可以通过该字段指定的名称查询这个表里的信息。当然是可以通过model的类名直接进行查询的，但类名一般都很长，一般情况下大家都会设置related_name。另外如果通过类名查询，切记类名需要全小写
# managed         表明该表是否是django迁移的表
# app_label       指明该表属于数据库的schema，即哪个库。一般我们都会链接多个数据库，通过该字段指定该表在哪个库里
# db_constraint   唯一约束 db_constraint = True  方便查询 约束字段  db_constraint = fales  不约束字段 同时也可以查询
#
#
#
#
# """
